package com.jieshuibao.model.db;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CounselorExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private int pageIndex;

    private int pageSize;

    public CounselorExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setPageIndex(int pageIndex) {
        this.pageIndex=pageIndex;
    }

    public int getPageIndex() {
        return this.pageIndex;
    }

    public void setPageSize(int pageSize) {
        this.pageSize=pageSize;
    }

    public int getPageSize() {
        return this.pageSize;
    }

    public CounselorExample(int pageIndex, int pageSize) {
        this();
        this.pageIndex=pageIndex;
        this.pageSize=pageSize;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andUuidIsNull() {
            addCriterion("counselor.uuid is null");
            return (Criteria) this;
        }

        public Criteria andUuidIsNotNull() {
            addCriterion("counselor.uuid is not null");
            return (Criteria) this;
        }

        public Criteria andUuidEqualTo(String value) {
            addCriterion("counselor.uuid =", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotEqualTo(String value) {
            addCriterion("counselor.uuid <>", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidGreaterThan(String value) {
            addCriterion("counselor.uuid >", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.uuid >=", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidLessThan(String value) {
            addCriterion("counselor.uuid <", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidLessThanOrEqualTo(String value) {
            addCriterion("counselor.uuid <=", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidLike(String value) {
            addCriterion("counselor.uuid like", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotLike(String value) {
            addCriterion("counselor.uuid not like", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidIn(List<String> values) {
            addCriterion("counselor.uuid in", values, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotIn(List<String> values) {
            addCriterion("counselor.uuid not in", values, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidBetween(String value1, String value2) {
            addCriterion("counselor.uuid between", value1, value2, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotBetween(String value1, String value2) {
            addCriterion("counselor.uuid not between", value1, value2, "uuid");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberIsNull() {
            addCriterion("counselor.userPhoneNumber is null");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberIsNotNull() {
            addCriterion("counselor.userPhoneNumber is not null");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberEqualTo(String value) {
            addCriterion("counselor.userPhoneNumber =", value, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberNotEqualTo(String value) {
            addCriterion("counselor.userPhoneNumber <>", value, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberGreaterThan(String value) {
            addCriterion("counselor.userPhoneNumber >", value, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.userPhoneNumber >=", value, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberLessThan(String value) {
            addCriterion("counselor.userPhoneNumber <", value, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberLessThanOrEqualTo(String value) {
            addCriterion("counselor.userPhoneNumber <=", value, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberLike(String value) {
            addCriterion("counselor.userPhoneNumber like", value, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberNotLike(String value) {
            addCriterion("counselor.userPhoneNumber not like", value, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberIn(List<String> values) {
            addCriterion("counselor.userPhoneNumber in", values, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberNotIn(List<String> values) {
            addCriterion("counselor.userPhoneNumber not in", values, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberBetween(String value1, String value2) {
            addCriterion("counselor.userPhoneNumber between", value1, value2, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNumberNotBetween(String value1, String value2) {
            addCriterion("counselor.userPhoneNumber not between", value1, value2, "userPhoneNumber");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("counselor.status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("counselor.status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("counselor.status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("counselor.status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("counselor.status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("counselor.status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("counselor.status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("counselor.status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("counselor.status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("counselor.status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("counselor.status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("counselor.status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andAccountantImageIsNull() {
            addCriterion("counselor.accountantImage is null");
            return (Criteria) this;
        }

        public Criteria andAccountantImageIsNotNull() {
            addCriterion("counselor.accountantImage is not null");
            return (Criteria) this;
        }

        public Criteria andAccountantImageEqualTo(String value) {
            addCriterion("counselor.accountantImage =", value, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andAccountantImageNotEqualTo(String value) {
            addCriterion("counselor.accountantImage <>", value, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andAccountantImageGreaterThan(String value) {
            addCriterion("counselor.accountantImage >", value, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andAccountantImageGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.accountantImage >=", value, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andAccountantImageLessThan(String value) {
            addCriterion("counselor.accountantImage <", value, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andAccountantImageLessThanOrEqualTo(String value) {
            addCriterion("counselor.accountantImage <=", value, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andAccountantImageLike(String value) {
            addCriterion("counselor.accountantImage like", value, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andAccountantImageNotLike(String value) {
            addCriterion("counselor.accountantImage not like", value, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andAccountantImageIn(List<String> values) {
            addCriterion("counselor.accountantImage in", values, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andAccountantImageNotIn(List<String> values) {
            addCriterion("counselor.accountantImage not in", values, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andAccountantImageBetween(String value1, String value2) {
            addCriterion("counselor.accountantImage between", value1, value2, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andAccountantImageNotBetween(String value1, String value2) {
            addCriterion("counselor.accountantImage not between", value1, value2, "accountantImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageIsNull() {
            addCriterion("counselor.taxImage is null");
            return (Criteria) this;
        }

        public Criteria andTaxImageIsNotNull() {
            addCriterion("counselor.taxImage is not null");
            return (Criteria) this;
        }

        public Criteria andTaxImageEqualTo(String value) {
            addCriterion("counselor.taxImage =", value, "taxImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageNotEqualTo(String value) {
            addCriterion("counselor.taxImage <>", value, "taxImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageGreaterThan(String value) {
            addCriterion("counselor.taxImage >", value, "taxImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.taxImage >=", value, "taxImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageLessThan(String value) {
            addCriterion("counselor.taxImage <", value, "taxImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageLessThanOrEqualTo(String value) {
            addCriterion("counselor.taxImage <=", value, "taxImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageLike(String value) {
            addCriterion("counselor.taxImage like", value, "taxImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageNotLike(String value) {
            addCriterion("counselor.taxImage not like", value, "taxImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageIn(List<String> values) {
            addCriterion("counselor.taxImage in", values, "taxImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageNotIn(List<String> values) {
            addCriterion("counselor.taxImage not in", values, "taxImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageBetween(String value1, String value2) {
            addCriterion("counselor.taxImage between", value1, value2, "taxImage");
            return (Criteria) this;
        }

        public Criteria andTaxImageNotBetween(String value1, String value2) {
            addCriterion("counselor.taxImage not between", value1, value2, "taxImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageIsNull() {
            addCriterion("counselor.lawyerImage is null");
            return (Criteria) this;
        }

        public Criteria andLawyerImageIsNotNull() {
            addCriterion("counselor.lawyerImage is not null");
            return (Criteria) this;
        }

        public Criteria andLawyerImageEqualTo(String value) {
            addCriterion("counselor.lawyerImage =", value, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageNotEqualTo(String value) {
            addCriterion("counselor.lawyerImage <>", value, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageGreaterThan(String value) {
            addCriterion("counselor.lawyerImage >", value, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.lawyerImage >=", value, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageLessThan(String value) {
            addCriterion("counselor.lawyerImage <", value, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageLessThanOrEqualTo(String value) {
            addCriterion("counselor.lawyerImage <=", value, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageLike(String value) {
            addCriterion("counselor.lawyerImage like", value, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageNotLike(String value) {
            addCriterion("counselor.lawyerImage not like", value, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageIn(List<String> values) {
            addCriterion("counselor.lawyerImage in", values, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageNotIn(List<String> values) {
            addCriterion("counselor.lawyerImage not in", values, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageBetween(String value1, String value2) {
            addCriterion("counselor.lawyerImage between", value1, value2, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andLawyerImageNotBetween(String value1, String value2) {
            addCriterion("counselor.lawyerImage not between", value1, value2, "lawyerImage");
            return (Criteria) this;
        }

        public Criteria andAduitReasonIsNull() {
            addCriterion("counselor.aduitReason is null");
            return (Criteria) this;
        }

        public Criteria andAduitReasonIsNotNull() {
            addCriterion("counselor.aduitReason is not null");
            return (Criteria) this;
        }

        public Criteria andAduitReasonEqualTo(String value) {
            addCriterion("counselor.aduitReason =", value, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andAduitReasonNotEqualTo(String value) {
            addCriterion("counselor.aduitReason <>", value, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andAduitReasonGreaterThan(String value) {
            addCriterion("counselor.aduitReason >", value, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andAduitReasonGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.aduitReason >=", value, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andAduitReasonLessThan(String value) {
            addCriterion("counselor.aduitReason <", value, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andAduitReasonLessThanOrEqualTo(String value) {
            addCriterion("counselor.aduitReason <=", value, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andAduitReasonLike(String value) {
            addCriterion("counselor.aduitReason like", value, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andAduitReasonNotLike(String value) {
            addCriterion("counselor.aduitReason not like", value, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andAduitReasonIn(List<String> values) {
            addCriterion("counselor.aduitReason in", values, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andAduitReasonNotIn(List<String> values) {
            addCriterion("counselor.aduitReason not in", values, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andAduitReasonBetween(String value1, String value2) {
            addCriterion("counselor.aduitReason between", value1, value2, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andAduitReasonNotBetween(String value1, String value2) {
            addCriterion("counselor.aduitReason not between", value1, value2, "aduitReason");
            return (Criteria) this;
        }

        public Criteria andApplyDateIsNull() {
            addCriterion("counselor.applyDate is null");
            return (Criteria) this;
        }

        public Criteria andApplyDateIsNotNull() {
            addCriterion("counselor.applyDate is not null");
            return (Criteria) this;
        }

        public Criteria andApplyDateEqualTo(Date value) {
            addCriterion("counselor.applyDate =", value, "applyDate");
            return (Criteria) this;
        }

        public Criteria andApplyDateNotEqualTo(Date value) {
            addCriterion("counselor.applyDate <>", value, "applyDate");
            return (Criteria) this;
        }

        public Criteria andApplyDateGreaterThan(Date value) {
            addCriterion("counselor.applyDate >", value, "applyDate");
            return (Criteria) this;
        }

        public Criteria andApplyDateGreaterThanOrEqualTo(Date value) {
            addCriterion("counselor.applyDate >=", value, "applyDate");
            return (Criteria) this;
        }

        public Criteria andApplyDateLessThan(Date value) {
            addCriterion("counselor.applyDate <", value, "applyDate");
            return (Criteria) this;
        }

        public Criteria andApplyDateLessThanOrEqualTo(Date value) {
            addCriterion("counselor.applyDate <=", value, "applyDate");
            return (Criteria) this;
        }

        public Criteria andApplyDateIn(List<Date> values) {
            addCriterion("counselor.applyDate in", values, "applyDate");
            return (Criteria) this;
        }

        public Criteria andApplyDateNotIn(List<Date> values) {
            addCriterion("counselor.applyDate not in", values, "applyDate");
            return (Criteria) this;
        }

        public Criteria andApplyDateBetween(Date value1, Date value2) {
            addCriterion("counselor.applyDate between", value1, value2, "applyDate");
            return (Criteria) this;
        }

        public Criteria andApplyDateNotBetween(Date value1, Date value2) {
            addCriterion("counselor.applyDate not between", value1, value2, "applyDate");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelIsNull() {
            addCriterion("counselor.counselorLevel is null");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelIsNotNull() {
            addCriterion("counselor.counselorLevel is not null");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelEqualTo(String value) {
            addCriterion("counselor.counselorLevel =", value, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelNotEqualTo(String value) {
            addCriterion("counselor.counselorLevel <>", value, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelGreaterThan(String value) {
            addCriterion("counselor.counselorLevel >", value, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.counselorLevel >=", value, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelLessThan(String value) {
            addCriterion("counselor.counselorLevel <", value, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelLessThanOrEqualTo(String value) {
            addCriterion("counselor.counselorLevel <=", value, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelLike(String value) {
            addCriterion("counselor.counselorLevel like", value, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelNotLike(String value) {
            addCriterion("counselor.counselorLevel not like", value, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelIn(List<String> values) {
            addCriterion("counselor.counselorLevel in", values, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelNotIn(List<String> values) {
            addCriterion("counselor.counselorLevel not in", values, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelBetween(String value1, String value2) {
            addCriterion("counselor.counselorLevel between", value1, value2, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andCounselorLevelNotBetween(String value1, String value2) {
            addCriterion("counselor.counselorLevel not between", value1, value2, "counselorLevel");
            return (Criteria) this;
        }

        public Criteria andExperienceIsNull() {
            addCriterion("counselor.experience is null");
            return (Criteria) this;
        }

        public Criteria andExperienceIsNotNull() {
            addCriterion("counselor.experience is not null");
            return (Criteria) this;
        }

        public Criteria andExperienceEqualTo(String value) {
            addCriterion("counselor.experience =", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceNotEqualTo(String value) {
            addCriterion("counselor.experience <>", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceGreaterThan(String value) {
            addCriterion("counselor.experience >", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.experience >=", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceLessThan(String value) {
            addCriterion("counselor.experience <", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceLessThanOrEqualTo(String value) {
            addCriterion("counselor.experience <=", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceLike(String value) {
            addCriterion("counselor.experience like", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceNotLike(String value) {
            addCriterion("counselor.experience not like", value, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceIn(List<String> values) {
            addCriterion("counselor.experience in", values, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceNotIn(List<String> values) {
            addCriterion("counselor.experience not in", values, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceBetween(String value1, String value2) {
            addCriterion("counselor.experience between", value1, value2, "experience");
            return (Criteria) this;
        }

        public Criteria andExperienceNotBetween(String value1, String value2) {
            addCriterion("counselor.experience not between", value1, value2, "experience");
            return (Criteria) this;
        }

        public Criteria andAdeptIsNull() {
            addCriterion("counselor.adept is null");
            return (Criteria) this;
        }

        public Criteria andAdeptIsNotNull() {
            addCriterion("counselor.adept is not null");
            return (Criteria) this;
        }

        public Criteria andAdeptEqualTo(String value) {
            addCriterion("counselor.adept =", value, "adept");
            return (Criteria) this;
        }

        public Criteria andAdeptNotEqualTo(String value) {
            addCriterion("counselor.adept <>", value, "adept");
            return (Criteria) this;
        }

        public Criteria andAdeptGreaterThan(String value) {
            addCriterion("counselor.adept >", value, "adept");
            return (Criteria) this;
        }

        public Criteria andAdeptGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.adept >=", value, "adept");
            return (Criteria) this;
        }

        public Criteria andAdeptLessThan(String value) {
            addCriterion("counselor.adept <", value, "adept");
            return (Criteria) this;
        }

        public Criteria andAdeptLessThanOrEqualTo(String value) {
            addCriterion("counselor.adept <=", value, "adept");
            return (Criteria) this;
        }

        public Criteria andAdeptLike(String value) {
            addCriterion("counselor.adept like", value, "adept");
            return (Criteria) this;
        }

        public Criteria andAdeptNotLike(String value) {
            addCriterion("counselor.adept not like", value, "adept");
            return (Criteria) this;
        }

        public Criteria andAdeptIn(List<String> values) {
            addCriterion("counselor.adept in", values, "adept");
            return (Criteria) this;
        }

        public Criteria andAdeptNotIn(List<String> values) {
            addCriterion("counselor.adept not in", values, "adept");
            return (Criteria) this;
        }

        public Criteria andAdeptBetween(String value1, String value2) {
            addCriterion("counselor.adept between", value1, value2, "adept");
            return (Criteria) this;
        }

        public Criteria andAdeptNotBetween(String value1, String value2) {
            addCriterion("counselor.adept not between", value1, value2, "adept");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseIsNull() {
            addCriterion("counselor.classicalCase is null");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseIsNotNull() {
            addCriterion("counselor.classicalCase is not null");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseEqualTo(String value) {
            addCriterion("counselor.classicalCase =", value, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseNotEqualTo(String value) {
            addCriterion("counselor.classicalCase <>", value, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseGreaterThan(String value) {
            addCriterion("counselor.classicalCase >", value, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.classicalCase >=", value, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseLessThan(String value) {
            addCriterion("counselor.classicalCase <", value, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseLessThanOrEqualTo(String value) {
            addCriterion("counselor.classicalCase <=", value, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseLike(String value) {
            addCriterion("counselor.classicalCase like", value, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseNotLike(String value) {
            addCriterion("counselor.classicalCase not like", value, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseIn(List<String> values) {
            addCriterion("counselor.classicalCase in", values, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseNotIn(List<String> values) {
            addCriterion("counselor.classicalCase not in", values, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseBetween(String value1, String value2) {
            addCriterion("counselor.classicalCase between", value1, value2, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andClassicalCaseNotBetween(String value1, String value2) {
            addCriterion("counselor.classicalCase not between", value1, value2, "classicalCase");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyIsNull() {
            addCriterion("counselor.consultMoney is null");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyIsNotNull() {
            addCriterion("counselor.consultMoney is not null");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyEqualTo(Integer value) {
            addCriterion("counselor.consultMoney =", value, "consultMoney");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyNotEqualTo(Integer value) {
            addCriterion("counselor.consultMoney <>", value, "consultMoney");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyGreaterThan(Integer value) {
            addCriterion("counselor.consultMoney >", value, "consultMoney");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyGreaterThanOrEqualTo(Integer value) {
            addCriterion("counselor.consultMoney >=", value, "consultMoney");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyLessThan(Integer value) {
            addCriterion("counselor.consultMoney <", value, "consultMoney");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyLessThanOrEqualTo(Integer value) {
            addCriterion("counselor.consultMoney <=", value, "consultMoney");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyIn(List<Integer> values) {
            addCriterion("counselor.consultMoney in", values, "consultMoney");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyNotIn(List<Integer> values) {
            addCriterion("counselor.consultMoney not in", values, "consultMoney");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyBetween(Integer value1, Integer value2) {
            addCriterion("counselor.consultMoney between", value1, value2, "consultMoney");
            return (Criteria) this;
        }

        public Criteria andConsultMoneyNotBetween(Integer value1, Integer value2) {
            addCriterion("counselor.consultMoney not between", value1, value2, "consultMoney");
            return (Criteria) this;
        }

        public Criteria andCaseImagesIsNull() {
            addCriterion("counselor.caseImages is null");
            return (Criteria) this;
        }

        public Criteria andCaseImagesIsNotNull() {
            addCriterion("counselor.caseImages is not null");
            return (Criteria) this;
        }

        public Criteria andCaseImagesEqualTo(String value) {
            addCriterion("counselor.caseImages =", value, "caseImages");
            return (Criteria) this;
        }

        public Criteria andCaseImagesNotEqualTo(String value) {
            addCriterion("counselor.caseImages <>", value, "caseImages");
            return (Criteria) this;
        }

        public Criteria andCaseImagesGreaterThan(String value) {
            addCriterion("counselor.caseImages >", value, "caseImages");
            return (Criteria) this;
        }

        public Criteria andCaseImagesGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.caseImages >=", value, "caseImages");
            return (Criteria) this;
        }

        public Criteria andCaseImagesLessThan(String value) {
            addCriterion("counselor.caseImages <", value, "caseImages");
            return (Criteria) this;
        }

        public Criteria andCaseImagesLessThanOrEqualTo(String value) {
            addCriterion("counselor.caseImages <=", value, "caseImages");
            return (Criteria) this;
        }

        public Criteria andCaseImagesLike(String value) {
            addCriterion("counselor.caseImages like", value, "caseImages");
            return (Criteria) this;
        }

        public Criteria andCaseImagesNotLike(String value) {
            addCriterion("counselor.caseImages not like", value, "caseImages");
            return (Criteria) this;
        }

        public Criteria andCaseImagesIn(List<String> values) {
            addCriterion("counselor.caseImages in", values, "caseImages");
            return (Criteria) this;
        }

        public Criteria andCaseImagesNotIn(List<String> values) {
            addCriterion("counselor.caseImages not in", values, "caseImages");
            return (Criteria) this;
        }

        public Criteria andCaseImagesBetween(String value1, String value2) {
            addCriterion("counselor.caseImages between", value1, value2, "caseImages");
            return (Criteria) this;
        }

        public Criteria andCaseImagesNotBetween(String value1, String value2) {
            addCriterion("counselor.caseImages not between", value1, value2, "caseImages");
            return (Criteria) this;
        }

        public Criteria andGrabNumIsNull() {
            addCriterion("counselor.grabNum is null");
            return (Criteria) this;
        }

        public Criteria andGrabNumIsNotNull() {
            addCriterion("counselor.grabNum is not null");
            return (Criteria) this;
        }

        public Criteria andGrabNumEqualTo(Integer value) {
            addCriterion("counselor.grabNum =", value, "grabNum");
            return (Criteria) this;
        }

        public Criteria andGrabNumNotEqualTo(Integer value) {
            addCriterion("counselor.grabNum <>", value, "grabNum");
            return (Criteria) this;
        }

        public Criteria andGrabNumGreaterThan(Integer value) {
            addCriterion("counselor.grabNum >", value, "grabNum");
            return (Criteria) this;
        }

        public Criteria andGrabNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("counselor.grabNum >=", value, "grabNum");
            return (Criteria) this;
        }

        public Criteria andGrabNumLessThan(Integer value) {
            addCriterion("counselor.grabNum <", value, "grabNum");
            return (Criteria) this;
        }

        public Criteria andGrabNumLessThanOrEqualTo(Integer value) {
            addCriterion("counselor.grabNum <=", value, "grabNum");
            return (Criteria) this;
        }

        public Criteria andGrabNumIn(List<Integer> values) {
            addCriterion("counselor.grabNum in", values, "grabNum");
            return (Criteria) this;
        }

        public Criteria andGrabNumNotIn(List<Integer> values) {
            addCriterion("counselor.grabNum not in", values, "grabNum");
            return (Criteria) this;
        }

        public Criteria andGrabNumBetween(Integer value1, Integer value2) {
            addCriterion("counselor.grabNum between", value1, value2, "grabNum");
            return (Criteria) this;
        }

        public Criteria andGrabNumNotBetween(Integer value1, Integer value2) {
            addCriterion("counselor.grabNum not between", value1, value2, "grabNum");
            return (Criteria) this;
        }

        public Criteria andGrabScoreIsNull() {
            addCriterion("counselor.grabScore is null");
            return (Criteria) this;
        }

        public Criteria andGrabScoreIsNotNull() {
            addCriterion("counselor.grabScore is not null");
            return (Criteria) this;
        }

        public Criteria andGrabScoreEqualTo(Integer value) {
            addCriterion("counselor.grabScore =", value, "grabScore");
            return (Criteria) this;
        }

        public Criteria andGrabScoreNotEqualTo(Integer value) {
            addCriterion("counselor.grabScore <>", value, "grabScore");
            return (Criteria) this;
        }

        public Criteria andGrabScoreGreaterThan(Integer value) {
            addCriterion("counselor.grabScore >", value, "grabScore");
            return (Criteria) this;
        }

        public Criteria andGrabScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("counselor.grabScore >=", value, "grabScore");
            return (Criteria) this;
        }

        public Criteria andGrabScoreLessThan(Integer value) {
            addCriterion("counselor.grabScore <", value, "grabScore");
            return (Criteria) this;
        }

        public Criteria andGrabScoreLessThanOrEqualTo(Integer value) {
            addCriterion("counselor.grabScore <=", value, "grabScore");
            return (Criteria) this;
        }

        public Criteria andGrabScoreIn(List<Integer> values) {
            addCriterion("counselor.grabScore in", values, "grabScore");
            return (Criteria) this;
        }

        public Criteria andGrabScoreNotIn(List<Integer> values) {
            addCriterion("counselor.grabScore not in", values, "grabScore");
            return (Criteria) this;
        }

        public Criteria andGrabScoreBetween(Integer value1, Integer value2) {
            addCriterion("counselor.grabScore between", value1, value2, "grabScore");
            return (Criteria) this;
        }

        public Criteria andGrabScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("counselor.grabScore not between", value1, value2, "grabScore");
            return (Criteria) this;
        }

        public Criteria andAdvNumIsNull() {
            addCriterion("counselor.advNum is null");
            return (Criteria) this;
        }

        public Criteria andAdvNumIsNotNull() {
            addCriterion("counselor.advNum is not null");
            return (Criteria) this;
        }

        public Criteria andAdvNumEqualTo(Integer value) {
            addCriterion("counselor.advNum =", value, "advNum");
            return (Criteria) this;
        }

        public Criteria andAdvNumNotEqualTo(Integer value) {
            addCriterion("counselor.advNum <>", value, "advNum");
            return (Criteria) this;
        }

        public Criteria andAdvNumGreaterThan(Integer value) {
            addCriterion("counselor.advNum >", value, "advNum");
            return (Criteria) this;
        }

        public Criteria andAdvNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("counselor.advNum >=", value, "advNum");
            return (Criteria) this;
        }

        public Criteria andAdvNumLessThan(Integer value) {
            addCriterion("counselor.advNum <", value, "advNum");
            return (Criteria) this;
        }

        public Criteria andAdvNumLessThanOrEqualTo(Integer value) {
            addCriterion("counselor.advNum <=", value, "advNum");
            return (Criteria) this;
        }

        public Criteria andAdvNumIn(List<Integer> values) {
            addCriterion("counselor.advNum in", values, "advNum");
            return (Criteria) this;
        }

        public Criteria andAdvNumNotIn(List<Integer> values) {
            addCriterion("counselor.advNum not in", values, "advNum");
            return (Criteria) this;
        }

        public Criteria andAdvNumBetween(Integer value1, Integer value2) {
            addCriterion("counselor.advNum between", value1, value2, "advNum");
            return (Criteria) this;
        }

        public Criteria andAdvNumNotBetween(Integer value1, Integer value2) {
            addCriterion("counselor.advNum not between", value1, value2, "advNum");
            return (Criteria) this;
        }

        public Criteria andAdvScoreIsNull() {
            addCriterion("counselor.advScore is null");
            return (Criteria) this;
        }

        public Criteria andAdvScoreIsNotNull() {
            addCriterion("counselor.advScore is not null");
            return (Criteria) this;
        }

        public Criteria andAdvScoreEqualTo(Integer value) {
            addCriterion("counselor.advScore =", value, "advScore");
            return (Criteria) this;
        }

        public Criteria andAdvScoreNotEqualTo(Integer value) {
            addCriterion("counselor.advScore <>", value, "advScore");
            return (Criteria) this;
        }

        public Criteria andAdvScoreGreaterThan(Integer value) {
            addCriterion("counselor.advScore >", value, "advScore");
            return (Criteria) this;
        }

        public Criteria andAdvScoreGreaterThanOrEqualTo(Integer value) {
            addCriterion("counselor.advScore >=", value, "advScore");
            return (Criteria) this;
        }

        public Criteria andAdvScoreLessThan(Integer value) {
            addCriterion("counselor.advScore <", value, "advScore");
            return (Criteria) this;
        }

        public Criteria andAdvScoreLessThanOrEqualTo(Integer value) {
            addCriterion("counselor.advScore <=", value, "advScore");
            return (Criteria) this;
        }

        public Criteria andAdvScoreIn(List<Integer> values) {
            addCriterion("counselor.advScore in", values, "advScore");
            return (Criteria) this;
        }

        public Criteria andAdvScoreNotIn(List<Integer> values) {
            addCriterion("counselor.advScore not in", values, "advScore");
            return (Criteria) this;
        }

        public Criteria andAdvScoreBetween(Integer value1, Integer value2) {
            addCriterion("counselor.advScore between", value1, value2, "advScore");
            return (Criteria) this;
        }

        public Criteria andAdvScoreNotBetween(Integer value1, Integer value2) {
            addCriterion("counselor.advScore not between", value1, value2, "advScore");
            return (Criteria) this;
        }

        public Criteria andRecommendNoIsNull() {
            addCriterion("counselor.recommendNo is null");
            return (Criteria) this;
        }

        public Criteria andRecommendNoIsNotNull() {
            addCriterion("counselor.recommendNo is not null");
            return (Criteria) this;
        }

        public Criteria andRecommendNoEqualTo(Integer value) {
            addCriterion("counselor.recommendNo =", value, "recommendNo");
            return (Criteria) this;
        }

        public Criteria andRecommendNoNotEqualTo(Integer value) {
            addCriterion("counselor.recommendNo <>", value, "recommendNo");
            return (Criteria) this;
        }

        public Criteria andRecommendNoGreaterThan(Integer value) {
            addCriterion("counselor.recommendNo >", value, "recommendNo");
            return (Criteria) this;
        }

        public Criteria andRecommendNoGreaterThanOrEqualTo(Integer value) {
            addCriterion("counselor.recommendNo >=", value, "recommendNo");
            return (Criteria) this;
        }

        public Criteria andRecommendNoLessThan(Integer value) {
            addCriterion("counselor.recommendNo <", value, "recommendNo");
            return (Criteria) this;
        }

        public Criteria andRecommendNoLessThanOrEqualTo(Integer value) {
            addCriterion("counselor.recommendNo <=", value, "recommendNo");
            return (Criteria) this;
        }

        public Criteria andRecommendNoIn(List<Integer> values) {
            addCriterion("counselor.recommendNo in", values, "recommendNo");
            return (Criteria) this;
        }

        public Criteria andRecommendNoNotIn(List<Integer> values) {
            addCriterion("counselor.recommendNo not in", values, "recommendNo");
            return (Criteria) this;
        }

        public Criteria andRecommendNoBetween(Integer value1, Integer value2) {
            addCriterion("counselor.recommendNo between", value1, value2, "recommendNo");
            return (Criteria) this;
        }

        public Criteria andRecommendNoNotBetween(Integer value1, Integer value2) {
            addCriterion("counselor.recommendNo not between", value1, value2, "recommendNo");
            return (Criteria) this;
        }

        public Criteria andIDCardIsNull() {
            addCriterion("counselor.IDCard is null");
            return (Criteria) this;
        }

        public Criteria andIDCardIsNotNull() {
            addCriterion("counselor.IDCard is not null");
            return (Criteria) this;
        }

        public Criteria andIDCardEqualTo(String value) {
            addCriterion("counselor.IDCard =", value, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardNotEqualTo(String value) {
            addCriterion("counselor.IDCard <>", value, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardGreaterThan(String value) {
            addCriterion("counselor.IDCard >", value, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.IDCard >=", value, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardLessThan(String value) {
            addCriterion("counselor.IDCard <", value, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardLessThanOrEqualTo(String value) {
            addCriterion("counselor.IDCard <=", value, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardLike(String value) {
            addCriterion("counselor.IDCard like", value, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardNotLike(String value) {
            addCriterion("counselor.IDCard not like", value, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardIn(List<String> values) {
            addCriterion("counselor.IDCard in", values, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardNotIn(List<String> values) {
            addCriterion("counselor.IDCard not in", values, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardBetween(String value1, String value2) {
            addCriterion("counselor.IDCard between", value1, value2, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardNotBetween(String value1, String value2) {
            addCriterion("counselor.IDCard not between", value1, value2, "IDCard");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontIsNull() {
            addCriterion("counselor.IDCardFront is null");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontIsNotNull() {
            addCriterion("counselor.IDCardFront is not null");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontEqualTo(String value) {
            addCriterion("counselor.IDCardFront =", value, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontNotEqualTo(String value) {
            addCriterion("counselor.IDCardFront <>", value, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontGreaterThan(String value) {
            addCriterion("counselor.IDCardFront >", value, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.IDCardFront >=", value, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontLessThan(String value) {
            addCriterion("counselor.IDCardFront <", value, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontLessThanOrEqualTo(String value) {
            addCriterion("counselor.IDCardFront <=", value, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontLike(String value) {
            addCriterion("counselor.IDCardFront like", value, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontNotLike(String value) {
            addCriterion("counselor.IDCardFront not like", value, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontIn(List<String> values) {
            addCriterion("counselor.IDCardFront in", values, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontNotIn(List<String> values) {
            addCriterion("counselor.IDCardFront not in", values, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontBetween(String value1, String value2) {
            addCriterion("counselor.IDCardFront between", value1, value2, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardFrontNotBetween(String value1, String value2) {
            addCriterion("counselor.IDCardFront not between", value1, value2, "IDCardFront");
            return (Criteria) this;
        }

        public Criteria andIDCardBackIsNull() {
            addCriterion("counselor.IDCardBack is null");
            return (Criteria) this;
        }

        public Criteria andIDCardBackIsNotNull() {
            addCriterion("counselor.IDCardBack is not null");
            return (Criteria) this;
        }

        public Criteria andIDCardBackEqualTo(String value) {
            addCriterion("counselor.IDCardBack =", value, "IDCardBack");
            return (Criteria) this;
        }

        public Criteria andIDCardBackNotEqualTo(String value) {
            addCriterion("counselor.IDCardBack <>", value, "IDCardBack");
            return (Criteria) this;
        }

        public Criteria andIDCardBackGreaterThan(String value) {
            addCriterion("counselor.IDCardBack >", value, "IDCardBack");
            return (Criteria) this;
        }

        public Criteria andIDCardBackGreaterThanOrEqualTo(String value) {
            addCriterion("counselor.IDCardBack >=", value, "IDCardBack");
            return (Criteria) this;
        }

        public Criteria andIDCardBackLessThan(String value) {
            addCriterion("counselor.IDCardBack <", value, "IDCardBack");
            return (Criteria) this;
        }

        public Criteria andIDCardBackLessThanOrEqualTo(String value) {
            addCriterion("counselor.IDCardBack <=", value, "IDCardBack");
            return (Criteria) this;
        }

        public Criteria andIDCardBackLike(String value) {
            addCriterion("counselor.IDCardBack like", value, "IDCardBack");
            return (Criteria) this;
        }

        public Criteria andIDCardBackNotLike(String value) {
            addCriterion("counselor.IDCardBack not like", value, "IDCardBack");
            return (Criteria) this;
        }

        public Criteria andIDCardBackIn(List<String> values) {
            addCriterion("counselor.IDCardBack in", values, "IDCardBack");
            return (Criteria) this;
        }

        public Criteria andIDCardBackNotIn(List<String> values) {
            addCriterion("counselor.IDCardBack not in", values, "IDCardBack");
            return (Criteria) this;
        }

        public Criteria andIDCardBackBetween(String value1, String value2) {
            addCriterion("counselor.IDCardBack between", value1, value2, "IDCardBack");
            return (Criteria) this;
        }

        public Criteria andIDCardBackNotBetween(String value1, String value2) {
            addCriterion("counselor.IDCardBack not between", value1, value2, "IDCardBack");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}